package com.dc.toolkit.hutool.core;

import cn.hutool.core.util.DesensitizedUtil;
import org.junit.Test;

/**
 * Description: Hutool DesensitizedUtil(脱敏工具类) Demo
 * @author: gdc
 * @date: 2021/10/11
 * @version 1.0
 */
public class DesensitizedUtilTest {

    /**
     * 测试       脱敏后的名字，只显示第一个汉字，其他隐藏为2个星号，比如：李**
     */
    @Test
    public void test_chineseName(){
        String name = DesensitizedUtil.chineseName("张三丰");
        System.out.println(name);

        String name2 = DesensitizedUtil.chineseName("杨过");
        System.out.println(name2);
    }

    /**
     * 测试       只显示到地区，不显示详细地址
     */
    @Test
    public void test_address(){
        String address = DesensitizedUtil.address("山东省青岛市李村街道A小区B栋C单元D", 13);
        System.out.println(address);
    }

    /**
     * 测试       银行卡号脱敏
     */
    @Test
    public void test_bankCard(){
        String bankCard = DesensitizedUtil.bankCard("12345678223456781357");
        System.out.println(bankCard);
    }

    /**
     * 测试       车牌中间用*代替
     */
    @Test
    public void test_carLicense(){
        String carLicense = DesensitizedUtil.carLicense("鲁A12345");
        System.out.println(carLicense);
    }

    /**
     * 测试       邮箱,前缀仅显示第一个字母，前缀其他隐藏，用星号代替，@及后面的地址显示
     */
    @Test
    public void test_email(){
        String email = DesensitizedUtil.email("dc123456@163.com");
        System.out.println(email);
    }

    /**
     * 测试       固定电话 前四位，后两位
     */
    @Test
    public void test_fixedPhone(){
        String phone = DesensitizedUtil.fixedPhone("3630123");
        System.out.println(phone);
    }

    /**
     * 测试       手机号码 前三位，后4位
     */
    @Test
    public void test_mobilePhone(){
        String phone = DesensitizedUtil.mobilePhone("13100001234");
        System.out.println(phone);
    }

    /**
     * 测试       身份证号, 前1位 和后2位
     */
    @Test
    public void test_idCardNum(){
        String idCardNum = DesensitizedUtil.idCardNum("370687200001010011", 1, 4);
        System.out.println(idCardNum);
    }

    /**
     * 测试       密码,全部字符都用*代替
     */
    @Test
    public void test_password(){
        String pwd = DesensitizedUtil.password("asdf1234");
        System.out.println(pwd);
    }
}
